#ifndef HPLC_QINFINE_AUTOSAMPLER_SENDSYSTEMPACKET_H
#define HPLC_QINFINE_AUTOSAMPLER_SENDSYSTEMPACKET_H

#include "autosamplersendpacket.h"

namespace hplc
{
namespace qinfine
{

class AutoSamplerProtocolData;
class AutoSamplerSendSystemPacket
{
public:
    AutoSamplerSendSystemPacket(AutoSamplerProtocolData &data);

    void setWorkMode(uint8_t mode, uint8_t flag);
    void getWorkMode();
    void setXMan(uint8_t isStart, int32_t distance);
    void getXMan();
    void setYMan(uint8_t isStart, int32_t distance);
    void getYMan();
    void setValveMan(uint8_t isStart);
    void getValveMan();
    void setXHome(uint8_t isStart);
    void getXHome();
    void setYHome(uint8_t isStart);
    void getYHome();
    void setXOffset(int32_t offset);
    void getXOffset();
    void setYOffset(int32_t offset);
    void getYOffset();
    void setXSpace(uint32_t space);
    void getXSpace();
    void setYSpace(uint32_t space);
    void getYSpace();
    void setXRPM(uint32_t rpm);
    void getXRPM();
    void setYRPM(uint32_t rpm);
    void getYRPM();
    void setBottleCount(uint8_t row, uint8_t column);
    void getBottleCount();

protected:
    AutoSamplerProtocolData *m_d = nullptr;
};

} // qinfine
} // hplc

#endif // HPLC_QINFINE_AUTOSAMPLER_SENDSYSTEMPACKET_H
